Fieldbus systems are frequently used in the industry for the communication between different units in control systems, e.g. between master units and slave units, and for the communication between different control systems.
One problem with the field bus systems is that there are many different systems. The differences relate for instance to the bus structure, the real-time behaviour, the amount of data that can be transferred, the transmission media and the distribution of power on the bus. In order for a unit to be compatible to different fieldbus systems, it needs to be able to handle their different technical requirements. Such a unit which is to be compatible to different fieldbus systems is, of course, much more expensive to manufacture than a unit which is designed only for a specific fieldbus system.
In order to solve this problem, the applicant has developed a series of adaptation modules, which are to be connected between a slave unit and a fieldbus. Each adaptation module is designed for a different fieldbus and thus has a specific fieldbus interface. However, all adaptation modules have the same interface against the slave unit. Thus, a slave unit can be connected to many different fieldbuses through one single interface.
The interface between the adaptation module and the slave unit is realised by a dual-port memory, which is accessible by a processor unit in the adaptation module and by a processor unit in the slave unit. The access to the memory is controlled by means of a handshake register in the memory. As a default state, the memory is assigned to the adaptation module When the slave processor unit wants to access the memory, it writes a request for access in the handshake register. It then has to wait until the adaptation processor unit is free to process the request, which may take some time since the adaptation processor unit is often very busy communicating with the fieldbus. The adaptation processor unit grants the slave processor unit access to the memory by writing an acknowledgement in the handshake register. After the slave processor unit has accessed the memory, it releases it to the adaptation module by writing a release in the handshake register.
One drawback of this method for accessing the dual port memory is that the slave processor unit can be locked out by the adaptation processor unit, if the adaptation processor unit always accesses the memory before the slave processor unit requests access thereto. Another drawback is that the exchange of data is slow due to long and unpredictable access times. This means that the adaptation module cannot be used between a master unit and the fieldbus, where the requirements for a fast exchange of data are more severe.
Furthermore, in a fieldbus system the following kinds of data need usually be transferred between a master and a slave unit. Cyclic input and output data, which is time-critical; non-cyclic message and/or command data, which is not time-critical; as well as non-cyclic fieldbus control and status data. Yet another drawback of the above-mentioned method is that it does not support the transfer of non-cyclic data and messages.
The above-mentioned problems may also arise in other applications, where two processor units exchange data through a common memory.